home *** CD-ROM | disk | FTP | other *** search
- unit VCLDropU;
-
- {$ifdef Ver80} { Delphi 1.0x }
- {$define DelphiLessThan4}
- {$endif}
- {$ifdef Ver90} { Delphi 2.0x }
- {$define DelphiLessThan4}
- {$endif}
- {$ifdef Ver93} { C++ Builder 1.0x }
- {$define DelphiLessThan4}
- {$endif}
- {$ifdef Ver100} { Delphi 3.0x }
- {$define DelphiLessThan4}
- {$endif}
- {$ifdef Ver110} { C++ Builder 3.0x }
- {$define DelphiLessThan4}
- {$endif}
-
- interface
-
- uses
- WinProcs, WinTypes, Messages, SysUtils, Classes, Graphics, Controls, Forms,
- Dialogs, FileCtrl, StdCtrls, ExtCtrls;
-
- type
- TForm1 = class(TForm)
- DirLabel: TLabel;
- FileEdit: TEdit;
- FileList: TFileListBox;
- DirList: TDirectoryListBox;
- DriveCombo: TDriveComboBox;
- FilterCombo: TFilterComboBox;
- Bevel1: TBevel;
- Image: TImage;
- procedure FormCreate(Sender: TObject);
- procedure FileListDblClick(Sender: TObject);
- procedure FileListMouseDown(Sender: TObject; Button: TMouseButton;
- Shift: TShiftState; X, Y: Integer);
- procedure ImageDragOver(Sender, Source: TObject; X, Y: Integer;
- State: TDragState; var Accept: Boolean);
- procedure ImageDragDrop(Sender, Source: TObject; X, Y: Integer);
- private
- { Private declarations }
- public
- { Public declarations }
- end;
-
- var
- Form1: TForm1;
-
- implementation
-
- {$R *.DFM}
-
- procedure TForm1.FormCreate(Sender: TObject);
- begin
- {$ifndef DelphiLessThan4}
- Image.Anchors := [akLeft, akTop, akRight, akBottom];
- Bevel1.Anchors := [akLeft, akTop, akRight, akBottom];
- {$endif}
- end;
-
- procedure TForm1.FileListDblClick(Sender: TObject);
- begin
- Image.Picture.LoadFromFile(FileList.FileName)
- end;
-
- procedure TForm1.FileListMouseDown(Sender: TObject; Button: TMouseButton;
- Shift: TShiftState; X, Y: Integer);
- begin
- if (Sender is TCustomListBox) and (Button = mbLeft) then
- with TCustomListBox(Sender) do
- if ItemAtPos(Point(X, Y), True) <> -1 then
- BeginDrag(False)
- end;
-
- procedure TForm1.ImageDragOver(Sender, Source: TObject; X, Y: Integer;
- State: TDragState; var Accept: Boolean);
- begin
- Accept := Source = FileList
- end;
-
- procedure TForm1.ImageDragDrop(Sender, Source: TObject; X, Y: Integer);
- begin
- {$ifndef Windows} { Delphi 1 cannot handle this syntax }
- { If FileList has an OnDblClick event handler... }
- if Assigned(FileList.OnDblClick) then
- {$endif}
- { ... invoke it }
- FileList.OnDblClick(FileList)
- end;
-
- end.
-